Building Evolutionary Architectures: Automated Software Governance

Building Evolutionary Architectures: Automated Software Governance

  • Downloads:6538
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2023-01-15 16:16:39
  • Update Date:2025-09-23
  • Status:finish
  • Author:Neal Ford
  • ISBN:1492097543
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms。 Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves。 This practical guide ties those parts together with a new way to think about architecture and time。

Download

Reviews

Jose Cruz

it is a new subject in the architecture, there is no better source about itIt talks about evolutionary architectures and how the fitness functions are useful。 The book accomplishes the explanation about the architectures and the role of the fitness functions, however it could have gone further by deepening the subject and the use of fitness functions with more real examples。I give it a five, because it is the main source of this information, but a 4。5 was a more accurate rating。

Ivan Chernov

Хорошая книга с позиции того, чтобы расматривать архитектуру не как набор модулей, а как набор возможностей (-ilites)。 Для обеспечения проверки каждой возможности мы пишем соответствующую фитнес фукнцию по аналогии с генетическим алгоритмом。Из плохого, слишком большой упор на микросервисы и хотелось бы больше врезок с конкретными примерами из практики, а не абстрактным Widgets*。

Andrew

Gives you a good overview of modern architectures (with emphasis on benefits of micro-services)。 Not too technical。 Very easy read。

Dave

Good material, a little light for me on immediate demonstration, will be rereading to extract actionables。

Michael

Lots of good Devops practices mentioned 。 Evolutionary architecture is no easy task。 But doing so will ensure your business can adopt to future unknown unknowns。

Gheorghina

The good part is that this book centralizes different approaches of different architecture types for different business cases。 The not so good part is that it only scratches the surface of the topics, being a very light weighted book。

Alecsphys

An interesting book showing high level principles of modern software engineering practices。 But if you expect to get detailed knowledge read orher books。 The main takeaway of the book is the importance and the benefits to build a software architecture capable to change over time, absolutely a not trivial challenge。 Nice the short summary of existing different types of architectures。 A bit disturbing for me the abuse of physics language, not needed at all。 And finally the stressing idea of the fi An interesting book showing high level principles of modern software engineering practices。 But if you expect to get detailed knowledge read orher books。 The main takeaway of the book is the importance and the benefits to build a software architecture capable to change over time, absolutely a not trivial challenge。 Nice the short summary of existing different types of architectures。 A bit disturbing for me the abuse of physics language, not needed at all。 And finally the stressing idea of the fitness functions is from my perspective not new at all; the capability to properly monitor aspects of your job in general is given from granted by me。 。。。more

Vlad Romanenko

The first half of the book is very high-level and hard to read。 It talks a lot about fitness functions but I'm afraid even after reading the entire book I still don't have as clear understanding about fitness functions as I'd like。However chapters 4, 6 and 7 have some practical advice and offer comparison of different architectural approaches。 I found it very useful to learn about the evolution of architectural approaches over time。 I see myself going back to these chapters for some useful thoug The first half of the book is very high-level and hard to read。 It talks a lot about fitness functions but I'm afraid even after reading the entire book I still don't have as clear understanding about fitness functions as I'd like。However chapters 4, 6 and 7 have some practical advice and offer comparison of different architectural approaches。 I found it very useful to learn about the evolution of architectural approaches over time。 I see myself going back to these chapters for some useful thoughts on 。。。more

Chris

The first chapter is good then the authors just promote their "fitness functions" idea: complicated, bureaucratic, useless, and without any evidence of their values (for money): the worse book I have read on modern architectures。。。 The first chapter is good then the authors just promote their "fitness functions" idea: complicated, bureaucratic, useless, and without any evidence of their values (for money): the worse book I have read on modern architectures。。。 。。。more

Ed

Required Reading!This book stands without peer in terms of codifying an approach towards the architecture of software systems that demonstrate resiliency to change。 It does so by defining the means to move quickly and adapt to unpredictable shifts in domain, technology or the world itself。

Christoph Kappel

For me it is difficult to give a proper rating or review here, because it is difficult to say something about this book。 I originally read Software Architecture: The Hard Parts: Modern Tradeoff Analysis for Distributed Architectures and there were many mentions of this book inside of it and the title of it is really intriguing。And it is a good read, but basically summarises lots of the information that is in the other book and doesn't give much details and examples how a fitness function can be For me it is difficult to give a proper rating or review here, because it is difficult to say something about this book。 I originally read Software Architecture: The Hard Parts: Modern Tradeoff Analysis for Distributed Architectures and there were many mentions of this book inside of it and the title of it is really intriguing。And it is a good read, but basically summarises lots of the information that is in the other book and doesn't give much details and examples how a fitness function can be。 There is more like a loose description what can tested and what should be。 。。。more

Gabriel Santos

This is a great resource for technologists of all kind, specially for solutions and enterprise architects。 In the book not only do the authors introduce the fitness function concept but they also talk rather deeply about evolutionary architecture, degrees of coupling and cohesion of architectures thoroughly。 I would also highlight chapter 7 whereas they present several anti patterns to evolvability。 I rate this book 5 stars specially because, despite some subjects are not new to me, the way the This is a great resource for technologists of all kind, specially for solutions and enterprise architects。 In the book not only do the authors introduce the fitness function concept but they also talk rather deeply about evolutionary architecture, degrees of coupling and cohesion of architectures thoroughly。 I would also highlight chapter 7 whereas they present several anti patterns to evolvability。 I rate this book 5 stars specially because, despite some subjects are not new to me, the way the authors present the matters bring them to the surface on a new perspective shedding light on the very core aspects of architecture。 。。。more

Miloš

I loathe rating books that I don't know whether to hate or like - the ideas behind the book held promise but much to my chagrin, the writing is so horribly dry and repetitive and full of waffle that I just became irritated once again and now the dilemma is gone - I hate it more after all! Essentially, the book can be boiled down to this - use continuous delivery and try to qualify and quantify all of your architecture's *ilities that you care about。 There, all done! A bit salty and tongue in che I loathe rating books that I don't know whether to hate or like - the ideas behind the book held promise but much to my chagrin, the writing is so horribly dry and repetitive and full of waffle that I just became irritated once again and now the dilemma is gone - I hate it more after all! Essentially, the book can be boiled down to this - use continuous delivery and try to qualify and quantify all of your architecture's *ilities that you care about。 There, all done! A bit salty and tongue in cheek but that's the core idea that the authors then take up and expand upon in a very abstract and dry manner over too many chapters。 There's a bit of high-level talk about various different architecture styles you can adopt and there's discussion regarding all the *ilities that those styles exhibit, the focus being on evolvability and that's the part of the book I liked the best。。。 and probably the main reason that I don't regret reading it。 。。。more

Hector Hurtado

Good book。 You will learn about some practices, techniques and principles to help you to make simpler the adoption of change in software。

Mdlsr

That's a good read on software architecture。 Could be a bit shorter though That's a good read on software architecture。 Could be a bit shorter though 。。。more

Ashley

A lot of great information here as a framework。The diagrams were quite helpful to illustrate some of the tech/business factors to balance in an architecture and also appreciated the wealth of third-party tools the authors introduced。Generally, the code samples weren't specific enough to be much of a help, and the context that they presented was already redundant to the architectural diagrams。Would recommend to anyone (including a business stakeholder) engaging an architect or considering a funda A lot of great information here as a framework。The diagrams were quite helpful to illustrate some of the tech/business factors to balance in an architecture and also appreciated the wealth of third-party tools the authors introduced。Generally, the code samples weren't specific enough to be much of a help, and the context that they presented was already redundant to the architectural diagrams。Would recommend to anyone (including a business stakeholder) engaging an architect or considering a fundamental shift in technical/engineering team organization。 。。。more

Du Nguyen

A pretty interesting book but just very generic and high level。 It goes over the term evolutionary architecture which is probably more a combination of lots of now-established paradigms and approaches such as microservices, separation of concerns, domain-driven design。 As of such it offer very little new and the most useful chapters were the one actually about the architecture and another on antipatterns。 The last chapter on organizational structure was also really interesting。This book is quite A pretty interesting book but just very generic and high level。 It goes over the term evolutionary architecture which is probably more a combination of lots of now-established paradigms and approaches such as microservices, separation of concerns, domain-driven design。 As of such it offer very little new and the most useful chapters were the one actually about the architecture and another on antipatterns。 The last chapter on organizational structure was also really interesting。This book is quite short and very high level。 I wouldn't call this a must-read as only a few chapters contained something new。 Building Microservices and Domain-Driven Design together would probably cover all of this book but in much more detail。 。。。more

Maziz

If you read books like Microservice by Sam Newman, Clean Architecture by Uncle bob, this would would extend and extrapolate that。 Highly recommended if you read the former books。

Andrew

I did not find this particularly valuable, esp relative to other books on similar topic

Kevin Bjorke

I found this book to be very useful to mix the few things that I do know with many that I do not about modern architectures。 sharing it among members of our teams has helped give us a common language to discuss the way we deploy all of our services and products。

Michał Kutrzeba

Dobra na początek, dużo ogólników, mało konkretów。

João Paiva

First book I read that has "architecture" in the title。 Very easy read。 Good overview of the concepts, and with tons of pointers to more material。 Maybe a bit shallow, and I didn't fully buy the main thesis (the few and far between parallels with biology seem more of a marketing move than an actual valuable addition)。 It also seemed to have the underlying stance of "architects vs developers" which I solemnly hate, but ignoring that it has some pretty good content。 First book I read that has "architecture" in the title。 Very easy read。 Good overview of the concepts, and with tons of pointers to more material。 Maybe a bit shallow, and I didn't fully buy the main thesis (the few and far between parallels with biology seem more of a marketing move than an actual valuable addition)。 It also seemed to have the underlying stance of "architects vs developers" which I solemnly hate, but ignoring that it has some pretty good content。 。。。more

Thiago Massa

Nice and quick read。 The whole book is about using fitness functions for software architecture。 Having myself seen architectures and software written where either security or changeability weren't initially well thought of, or over time degraded to a very low standard, it seems reasonable to use fitness functions and many of us already do even without thinking to much about it。 Such as, a linter that helps code to be concise and avoid complex code to exist, tightly integrated to a CI。 What we ar Nice and quick read。 The whole book is about using fitness functions for software architecture。 Having myself seen architectures and software written where either security or changeability weren't initially well thought of, or over time degraded to a very low standard, it seems reasonable to use fitness functions and many of us already do even without thinking to much about it。 Such as, a linter that helps code to be concise and avoid complex code to exist, tightly integrated to a CI。 What we are trying to maximize in that function would be to make our code less complex, which overall helps our software to last longer。 What if we would take this approach also for example to get regular pen tests and secure audits and act upon those requirements, and that would be a part of our development process? That would certainly help。 So that's what the book is about。 。。。more

Tom

Nice compilation of best practices and a few new concepts, mixed with practical experiences to illustrate。 It is a good read, not terribly long, and I found it useful。 Interested in looking into architectural fitness functions and consumer driven contracts for microservices!

George Hipp

I truly enjoyed a new lense to view architecture through。 While not revolutionary in conclusions, this a good review of why architecture is designed in flexible ways, the importance of understanding trade offs and a couple of interesting ways to frame important decisions。 This is not entry level and not something I would recommend to learn architectural concepts, but it is a good reminder with some additional ways to view decisions。 Also, it is pretty well laid out to review when working though I truly enjoyed a new lense to view architecture through。 While not revolutionary in conclusions, this a good review of why architecture is designed in flexible ways, the importance of understanding trade offs and a couple of interesting ways to frame important decisions。 This is not entry level and not something I would recommend to learn architectural concepts, but it is a good reminder with some additional ways to view decisions。 Also, it is pretty well laid out to review when working though your own decisions。 。。。more

Avraam Mavridis

What a waste of paper。。。 the only outstanding about this book is how the authors managed to expand in 174 pages the simple "All software evolve over time, plan for changes"。。。 Thank god I read it because of my subscription to Oreily and I didnt had to pay for it。。。 40 euros for 174 pages of buzzword driven nothingness。 The book is the perfect example "lets take something that exist over years, wrap it in a new buzzword and re-sell it" What a waste of paper。。。 the only outstanding about this book is how the authors managed to expand in 174 pages the simple "All software evolve over time, plan for changes"。。。 Thank god I read it because of my subscription to Oreily and I didnt had to pay for it。。。 40 euros for 174 pages of buzzword driven nothingness。 The book is the perfect example "lets take something that exist over years, wrap it in a new buzzword and re-sell it" 。。。more

Remo Biagioni

This was a hugely disappointing book。 The concept of evolutionary architecture is not new: transition architectures are baked into TOGAF。 The one piece of brilliance in this book is to identify 'fitness functions' from the architecture and make those testable - indeed introducing those tests into the automated test suite。 This idea is covered well in chapters one and two - though perhaps with a bit tighter editing in could have fitted in a single chapter。 The remainder of the book purports to be This was a hugely disappointing book。 The concept of evolutionary architecture is not new: transition architectures are baked into TOGAF。 The one piece of brilliance in this book is to identify 'fitness functions' from the architecture and make those testable - indeed introducing those tests into the automated test suite。 This idea is covered well in chapters one and two - though perhaps with a bit tighter editing in could have fitted in a single chapter。 The remainder of the book purports to be an explanation of how the idea fits with different architecture styles。 The author has a strong bias towards micro architectures and 'the developer as king' neither of which idea is argued particularly well generally using sweeping statements with no evidence: "most commercial software falls woefully short of industry standards for automation and testing"。 "Many companies view software as overhead, like the heating system" and rightly so。 If a company's strategy is to install heating systems at the lowest cost then it's hard to imagine a scenario where software would not be an overhead。 "Business people 。。。 have priorities that drive inappropriate decisions from an architectural point of view"。 Surely the the point of the architecture is to support the business? It's hard to imagine a scenario where a business would invest in an architecture that did not support the business goals。 Fundamentally architects and software engineers are part of the business - we are business people ourselves - our role is to work with our colleagues in sales, marketing, finance and operations to create and maintain products that implement the business strategy。Nor does IT Operations escape the author's sweeping generalisations: "New capabilities come slow to some companies and the operations group is a common victim of lack of innovation"。 Most IT Operations people I've spoken to wouldn't think that they lack innovation but they would claim poor development as the root cause of many of their problems。The author relies a lot on Conway's principle (organisations design systems that mirror their communications structure)。 Though posited in 1967, the principle remains a useful lens to analyse a system - software or otherwise。 Fifty years later it is hardly revolutionary and is one of the basic tools of organisational design。 If you support the view that today's engineering practices and micro architectures can solve any problem, you just need business people to leave you alone, you'll enjoy this book。 The author's rhetoric will give you much ammunition to use in your next holy war。 If, on the other hand, you want something to challenge your point of view and bring in new ideas, keep browsing the bookshelf。 。。。more

Mihnea

Revolves around fitness functions, the evolvability of systems, and other "-ilities" across multiple dimensions of architecture layers, company political layers, and also time layers, referring to having fast time-to-market for cost optimization。An interesting note is the mention of Conway's law: "Organizations design systems that mirror their own communication structure。", which is more and more evident by the examples and use cases presented in the book。 Revolves around fitness functions, the evolvability of systems, and other "-ilities" across multiple dimensions of architecture layers, company political layers, and also time layers, referring to having fast time-to-market for cost optimization。An interesting note is the mention of Conway's law: "Organizations design systems that mirror their own communication structure。", which is more and more evident by the examples and use cases presented in the book。 。。。more

Manu Pk

The book speaks about fitness functions, to solve this concern。 An architectural fitness function provides an objective integrity assessment of some architectural characteristics。 So, in a system there may be many characteristics that we want to measure, so you would write separate fitness functions for each of them。 In the book, a fitness function is not defined in a concrete way but rather in an abstract form of graphs, tests or any other methods by which we know that our system is doing good The book speaks about fitness functions, to solve this concern。 An architectural fitness function provides an objective integrity assessment of some architectural characteristics。 So, in a system there may be many characteristics that we want to measure, so you would write separate fitness functions for each of them。 In the book, a fitness function is not defined in a concrete way but rather in an abstract form of graphs, tests or any other methods by which we know that our system is doing good with the change。 This means you would still need to use your intellect not only to write the fitness function but also to make sense of them。For me, the best thing about the book is, it provides software architects with a rich vocabulary to communicate their intentions behind their choices to a variety of audiences, including business stakeholders, teams, and engineering leadership。 The book also gives you it's a survey of various architectural approaches。 It also talks about some of the practical ideas on how do we implement evolutionary architectures I particularly like the focus on the organizational factors and how does it apply to the software architectures。In conclusion, I would recommend this book to any software architect。 Use it as your communication guide, use it to improve your vocabulary, use it to get a sense of what is happening across the industry, so that you could choose what best for your situation。http://blog。manupk。com/2020/03/buildi。。。 。。。more

Orhan Yılmaz

if you are starting your career as a jr architect or want to be an architect, you must read book。